perm filename NFTSER.MID[S,NET]1 blob sn#385331 filedate 1978-09-30 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	X PDL NFTSER FTPLUP SUICID ...LIT SVRRTS ERRTNS ERRHAN ERRINS
C00004 ENDMK
CāŠ—;
;X PDL NFTSER FTPLUP SUICID ...LIT SVRRTS ERRTNS ERRHAN ERRINS

TITLE NFTSER
SUBTTL Definitions

; Mark Crispin, SU-AI, September 1978

; Assembly switches

IFNDEF SVRSKT,SVRSKT==25		; default listen socket
IFNDEF PDLLEN,PDLLEN==50		; stack length

; AC definitions.  0ā†’3 are used by NETWRK

X=4 ? A=5 ? B=6 ? P=17

PDL:	BLOCK PDLLEN			; stack

NFTSER:	JFCL
	RESET
	MOVE ['NFTSER]
	SETNAM
	MOVE P,[PDL(-PDLLEN)]
	MOVEI [DEBREAK ? JRST SUICID]
	MOVEM JOBAPR
	CLKINT 60.*60.			; must die if around too long
	OUTSTR [ASCIZ/NFTSER started
/]

; Listen for a connection on our socket

	MOVEI SVRSKT
	MOVEM LSNSKT
	PUSHJ P,LISTEN
	SKIPA 5,[440700,,[ASCIZ/421- SU-AI New Protocol FTP Server
 Boy if you ever expect anybody to ever implement a new protocol FTP
 server are you ever gonna lose!
421 You're hopeless.  I give up on you.
/]]
FTPLUP:	 PUSHJ P,NETOCH			; send character to user
	ILDB 5
	JUMPN FTPLUP
	PUSHJ P,NETSND
SUICID:	RESET ? EXIT

...LIT:	CONSTANTS

; Wonderful network routines

SVRRTS==-1				; include server routines
ERRTNS==-1				; include error routines
ERRHAN==-1				; include automagic error handling
ERRINS==<JRST SUICID>			; error instruction

.INSRT NETWRK[NET,MRC]

END NFTSER